package com.example.rbacmanage.util;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.concurrent.atomic.AtomicInteger;

public class OrderNumberUtil {
    private static final AtomicInteger sequence = new AtomicInteger();
    private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
    public static String generateOrderNumber() {
        // 获取当前日期时间并格式化
        String dateTimePart = LocalDateTime.now().format(formatter);
        // 生成一个唯一的序号（线程安全）
        int uniqueSequence = sequence.incrementAndGet();
        // 拼接日期时间和序号以生成订单号
        return dateTimePart + String.format("%04d", uniqueSequence); // 格式化序号为4位数字，不足前面补0
    }
}
